<?php
/*
Classe factorisant la gestion des urls
*/
class Url
{
	public function __construct()
	{
	}
	
	public function buildArticleUrl($str)
	{
		$url = "/article/";
		
		// Bloc permettant d'enlever l'accentuation d'une chaîne en passant par un format figée : l'échappement html
		// Solution trouvée ici : http://www.weirdog.com/blog/php/supprimer-les-accents-des-caracteres-accentues.html		
		$str = htmlentities($str, ENT_NOQUOTES, 'utf-8'); 
        $str = preg_replace('#&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $str); 
		$str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); // pour les ligatures e.g. '&oelig;' 
		$str = preg_replace('#&[^;]+;#', '', $str); // supprime les autres caractères 
    	
		// Changement de la casse
		$str = strtolower($str);

		// Suppression des tirets déjà existants et d'autres caractères
		$str = str_replace(array('~', '`', '@', '?', ':', '-', "'", '!'), '', $str);
		
		// Suppression d'éventuels espaces en début/fin
		$str = trim($str);
		
		// Remplacement des espaces par des tiret
		$str = preg_replace('/(\s)+/', '-', $str);
		
		$url .= $str.".html";
		
		return $url;
	}
	
	
	
};
?>